from util.log_util import LogUtil

class ClassLoggerDecorator:
    '''
    类装饰器
    类装饰器相对于函数装饰器提供了更多的灵活性，可以在初始化阶段接收额外的参数，并在__call__方法中灵活地定制装饰器的行为。
    使用类装饰器可以更好地组织和重用装饰器逻辑，使代码更具可读性和可维护性。
    '''
    def __init__(self, func):
        self.func = func

    def __call__(self, *args, **kwargs):
        LogUtil.info(f"Logging: Calling function {self.func.__name__}")
        return self.func(*args, **kwargs)